package view;

import java.awt.BorderLayout;
import java.awt.Color;
import java.util.ArrayList;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.border.EmptyBorder;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.StyledDocument;

import model.Patente;


/**
 * BuscaPe
Objetivo estrategico:
Fazer um programa de busca de patentes com recursos equivalentes ao Epoque.
Objetivos tacticos: 
1) Interface de busca para o USPTO, espacenet & depatis.
2) Possibilidade de ver texto+arquivo pdf lado a lado.
3) navegar saltando entre palavras selecionadas.
4) Ter palavras selecionadas de varios tipos.(ate 5 casos diferentes) 

 * @author Adriano de Albuquerque Batista
 * @author Alfeu Buriti
 * @author Pablo Diego Alencar
 * @author Yuri Cariry Cabral de Melo

*/
public class BuscaPeUI extends JFrame { 

	private static final long serialVersionUID = 1L;	

	public  MyTextPane 			 textPane; 
	public  MenuDemo   			 menu; 
	
	public  Patente				 patente	= new Patente();
	public  ArrayList<Patente>   pat_list	= new ArrayList<Patente> ();
	public  ArrayList<String> 	 pn_list	= new ArrayList<String> ();
	public  String 				 splitWord = "xxx";
	public  JMenu 			  	 historyMenu;
	public  String 				 DBItemId="";
		
	
	/**
	 * Construtor BuscaPeUI
	 * interface grafica do programa BuscaPe
	 */
	public BuscaPeUI() {		
		System.out.println("Inicio do BuscaPe");		
		
		// criacao do painel 
		System.out.println("Criacao do JPanel");
		
		JPanel 		content = new JPanel();
		EmptyBorder margem  = new EmptyBorder(10, 20, 5, 20);		
		
		content.setBorder(margem);
		content.setLayout(new BorderLayout(10, 10));
		content.setBackground(new Color(191,196,216));  

		// cria textPane
		System.out.println("Criacao do MyTextPane");
		StyledDocument document = new DefaultStyledDocument(); 
		textPane = new MyTextPane(document);
		
		//cria scrollbar e o adiciona ao centro de content
		System.out.println("Criacao do JScrollPane");
		JScrollPane scrollingPane = new JScrollPane(textPane);
		content.add(scrollingPane, BorderLayout.CENTER); 
		
 
		//Add text fields
		System.out.println("Criacao do TextFields");
		TextFields fields = new TextFields(this);
		content.add(fields, BorderLayout.NORTH);

		// Add the MyPanel panel.
		System.out.println("Criacao do MyPanel");
		content.add(new MyPanel(this), BorderLayout.SOUTH);

		// adiciona menu
		System.out.println("Criacao do MenuDemo");
		menu=new MenuDemo(this);
		this.setJMenuBar(menu);

		//.Setar caracteristicas da janela
		System.out.println("Criacao das caracteristicas");
		this.setTitle("BuscaPe");
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setContentPane(content);
		this.pack();
		this.setSize(1024, 768);
		
		System.out.println("Fim do BuscaPe");
	}

	
}
